Formula Engine
Parser aritmatika konfigurable tanpa ubah kode program · PT Nusantara Digital Indonesia
Memuat perhitungan…
Formula Terdaftar
KomponenEkspresiTipeStatus
Tunjangan Transport
ATTENDANCE_DAYS * 50000VariabelAktifTunjangan Makan
MIN(ATTENDANCE_DAYS, WORKING_DAYS) * 35000VariabelAktifLembur
ROUND((BASIC_SALARY / 173) * OVERTIME_HOURS * 1.5, 0)VariabelAktifBPJS Kesehatan (Employee)
MIN(BASIC_SALARY, 12000000) * 1%PotonganAktifPotongan Keterlambatan
IF(LATE_MINUTES > 60, (BASIC_SALARY / 173) * (LATE_MINUTES / 60), 0)PotonganAktifProrate Gaji Pokok
ROUND(BASIC_SALARY * (PRORATE_DAYS / CALENDAR_DAYS), 0)PendapatanAktifFungsi & Variabel yang Didukung (Blueprint 6.3)
FUNGSI SUM MIN MAX ROUND IF AND OR % PRORATE
VARIABEL BASIC_SALARY gaji pokok versi aktif periode
WORKING_DAYS hari kerja periode (kalender libur)
CALENDAR_DAYS hari kalender periode
ATTENDANCE_DAYS hari hadir hasil kalkulasi
OVERTIME_HOURS jam lembur disetujui
LATE_MINUTES akumulasi keterlambatan
UNPAID_LEAVE_DAYS cuti di luar tanggungan
PRORATE_DAYS hari efektif kerja periode
CONTOH IF(AND(ATTENDANCE_DAYS >= 20, LATE_MINUTES = 0), 500000, 0)Formula disimpan sebagai kode dan dievaluasi runtime. Perubahan formula tidak memerlukan penulisan ulang program.
Aturan Validasi Formula
- Formula dengan syntax error memblokir Calculate Payroll (validasi ERROR pada Blueprint 6.6).
- Referensi variabel yang tidak dikenal ditolak saat penyimpanan, bukan saat proses payroll.
- Perubahan formula wajib tercatat di Log Audit dengan nilai BEFORE dan AFTER.